public class Usuario {

	private String userName;
	private String nome;
	private String email;
	private String senha;
	private String telefone;

	public Usuario(String userName, String nome, String email, String senha)
			throws Exception {
		this(userName, nome, email, senha, "");
	}

	public Usuario(String userName, String nome, String email, String senha,
			String telefone) throws Exception {
		if (userName == "" || userName == null) {
			throw new Exception("Username eh um dado obrigatorio.");
		}
		if (nome == "" || nome == null) {
			throw new Exception("Nome eh um dado obrigatorio.");
		}
		if (email == "" || email == null) {
			throw new Exception("E-mail eh um dado obrigatorio.");
		}
		if (senha == "" || senha == null) {
			throw new Exception("Senha eh um dado obrigatorio.");
		}
		if (!eMailValido(email)) {
			throw new Exception("E-mail invalido.");
		}
		if (senha.length() < 6) {
			throw new Exception("Senha deve ter no minimo 6 caracteres.");
		}
		this.userName = userName;
		this.nome = nome;
		this.email = email;
		this.senha = senha;
		this.telefone = telefone;
	}

	private boolean eMailValido(String email) {
		if (email.charAt(0) == '@' || !email.contains("@")) {
			return false;
		}
		String[] str = email.split("@");
		if (str[1].length() < 3 || !str[1].contains(".")) {
			return false;
		}
		return true;
	}

	public String getUserName() {
		return userName;
	}

	public String getNome() {
		return nome;
	}

	public String getEmail() {
		return email;
	}

	public String getSenha() {
		return senha;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setNome(String nome) throws Exception {
		if (nome == "" || nome == null) {
			throw new Exception("Nome eh um dado obrigatorio.");
		}
		this.nome = nome;
	}

	public void setEmail(String email) throws Exception {
		if (!eMailValido(email)) {
			throw new Exception("E-mail invalido.");
		}
		this.email = email;
	}

	public void setSenha(String senha) throws Exception {
		if (senha == null || senha.length() < 6) {
			throw new Exception("Senha deve ter no minimo 6 caracteres.");
		}
		this.senha = senha;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

}